Network interfaces (e.g. Ethernet NIC, fiber channel, Infiniband) requires parsing of incoming packets to detect the priority, class of service and detect the high layer protocols, this information is used to forward the packet to destination queue and CPU or virtual machine (VM), this also helps to offload SW tasks.
Converged Network Adapter supports reception and transmission of multiple protocols at the same time, in some cases the protocols are encapsulated using tunneling protocols (for example FCoE, IP over IP, GRE, etc.)
Modern network adapter also supports many hardware acceleration engines to offload the software driver and the network stack.
Example for such acceleration is IPv4 or TCP checksum offload, this require detection the packet protocols and the protocol header offsets.
In today network environment, where many network protocol exist simultaneously, it is necessary to implement parsing engines that will be flexible enough to support multiple standard simultaneously, will be able to handle proprietary packet implementation and future protocol and will be efficient (data rate, area, power, SW utilization)